package dao;

import java.util.Collection;

import javax.ejb.Local;

import model.OrdemServico;
import enumtype.StatusOrdemServico;
import facade.NaoTemParaBaixarException;

@Local
public interface OrdemServicoDAOLocal {

	/**
	 * @param descProbl A descricao do problema
	 * @param idCliente O id do Cliente
	 * @param tipoServ O caracter que representa o tipo do servico
	 * @return Numero da OS
	 */
	long grava(String descProbl, Integer idCliente, Character tipoServ);

	void atualizaStatus(int numOs, StatusOrdemServico status);
	
	void atualizaStatus(int numOs, String descrServico, StatusOrdemServico status);

	Collection<OrdemServico> findOSByNumOs(int numero) throws ItemNaoEncontradoException;

	Collection<OrdemServico> findOSByNomeCliente(String nome) throws ItemNaoEncontradoException;

	Collection<OrdemServico> findOSByTel(String tel, String ddd) throws ItemNaoEncontradoException;

	OrdemServico findOSParaBaixar() throws NaoTemParaBaixarException;

	Collection<OrdemServico> findAllOSs() throws ItemNaoEncontradoException;

	void cancelar(int numOs);

	void atualiza(Integer id, Character tipoServ, String problemaInformado,	StatusOrdemServico status);
	
}
